#!/usr/bin/env python3

PACKAGE = "line_planner"

from dynamic_reconfigure.parameter_generator_catkin import *

gen = ParameterGenerator()

gen.add("publish_debug_markers", bool_t, 0, "Publish debug markers", True)

gen.add("max_turning_velocity", double_t, 0, "Maximum turning velocity", 0.9, 0, 3)
gen.add("max_linear_velocity", double_t, 0, "Maximum linear velocity", 0.45, 0, 2)
gen.add("linear_acceleration", double_t, 0, "Linear acceleration", 0.05, 0, 2)

gen.add("max_line_divergence", double_t, 0, "Maximum line divergence", 1.0, 0, 10)

gen.add("min_project_dist", double_t, 0, "Minimum projection distance", 0.15, 0, 15)
gen.add("max_project_dist", double_t, 0, "Maximum projection distance", 1.2, 0, 15)

gen.add("goal_distance_threshold", double_t, 0, "Goal distance threshold", 0.6, 0, 10)

gen.add("P", double_t, 0, "Proportional gain for PID controller", 3.0, 0, 100)
gen.add("I", double_t, 0, "Integral gain for PID controller", 0.001, 0, 10)
gen.add("D", double_t, 0, "Derivative gain for PID controller", 65.0, 0, 100)

gen.add("side_offset_mult", double_t, 0, "Side projection multiplier", 0.5, 0, 1.0)

gen.add("rate", int_t, 0, "Update rate", 30, 10, 60)

exit(gen.generate(PACKAGE, "line_planner", "LinePlanner"))